Zum Inhalt springen →

Python Skript: Größte Dateien auf einem Laufwerk auflisten

Größte Dateien auflisten

Dieses Python-Skript wurde entwickelt, um die größten Dateien (nach Dateigröße auf dem Laufwerk)  auf einem Dateilaufwerk (unter Windows-OS) aufzulisten, wie vom Benutzer bestimmt.

Anforderungen

Um dieses Skript verwenden zu können, muss Python 3 auf Ihrem System installiert sein. Sie müssen auch die Module os und sys installiert haben.

import os
# ask user for device id and number of files to list
while True:
device_id = input("Enter the device id (e.g. C:): ")
if os.path.isdir(device_id):
break
print("Invalid device id. Please enter a valid device id.")
while True:
num_files_str = input("Enter the number of files to list: ")
if not num_files_str.isdigit():
print("Invalid input. Please enter a positive integer.")
continue
num_files = int(num_files_str)
if num_files > 0:
break
print("Invalid input. Please enter a positive integer.")
# get list of files on device and sort by size
file_list = []
for root, dirs, files in os.walk(device_id):
for name in files:
try:
file_size = os.path.getsize(os.path.join(root, name))
file_list.append((os.path.join(root, name), file_size))
except:
# ignore file if it cannot be accessed
pass
file_list.sort(key=lambda x: x[1], reverse=True)
# print top n files and ask user to select a file to open
while True:
print("\nSelect a file to open:")
for i in range(num_files):
if i >= len(file_list):
break
file_path = file_list[i][0]
file_size = file_list[i][1]
print(f"{i+1}. {file_path} ({file_size} bytes)")
print("0. Exit")
# ask user to enter the index of the file to open
while True:
file_index_str = input("Enter the index of the file to open: ")
if not file_index_str.isdigit():
print("Invalid input. Please enter a positive integer.")
continue
file_index = int(file_index_str)
if 0 <= file_index <= num_files:
break
print(f"Invalid input. Please enter a number between 0 and {num_files}.")
# exit if user enters 0
if file_index == 0:
break
# open explorer window for the selected file
file_path = file_list[file_index-1][0]
os.startfile(os.path.dirname(file_path))

Anwendung

    1. Führen Sie das Skript von der Befehlszeile aus mit python listTopFilesizedFiles.py.
    2. Geben Sie den Pfad des Laufwerks ein, das Sie durchsuchen möchten, wenn Sie dazu aufgefordert werden.
    3. Geben Sie die Anzahl der Dateien ein, die Sie aufgelistet haben möchten, wenn Sie dazu aufgefordert werden.
    4. Wählen Sie eine Aktion aus dem angezeigten Menü:
    5. Geben Sie eine Dateinummer ein, um den Speicherort dieser Datei im Windows Explorer zu öffnen.
    6. Geben Sie 0 ein, um das Programm zu beenden
    7. Geben Sie r ein, um das Skript erneut von Anfang an zu starten.
    8. Wenn Sie sich für das Öffnen einer Datei entscheiden, wird ein Windows Explorer-Fenster mit dem Verzeichnis geöffnet, das die ausgewählte Datei enthält.
    9. Wenn Sie das Programm verlassen, wird das Skript beendet.
    10. Wenn Sie das Skript erneut ausführen möchten, werden Sie aufgefordert, einen neuen Laufwerkspfad und die Anzahl der aufzulistenden Dateien einzugeben.

Beispiel

 
python listTopFilesizedFiles.py
Enter the path of the drive you want to search:
C:\Users

Enter the number of files to list: 10

 

Top 10 biggest files in C:\Users:

 

1. File1.txt - 500 MB
2. File2.exe - 300 MB
3. File3.pdf - 200 MB
4. File4.mp4 - 150 MB
5. File5.ppt - 100 MB
6. File6.xlsx - 90 MB
7. File7.docx - 80 MB
8. File8.iso - 70 MB
9. File9.dll - 60 MB

10. File10.zip - 50 MB

 

What would you like to do?
Enter a file number to open its location,
enter 0 to exit, or enter r to start over: 2
Opening File2.exe location in Windows Explorer...

Lizenz

Dieses Skript ist unter der MIT-Lizenz veröffentlicht. Sie können es verwenden, wie Sie wollen.

Download

Sie können den Quellcode des Skripts von meinem github-repository herunterladen:
https://github.com/smartDevel/list_Top_Size_Files

Click to rate this post!
[Total: 0 Average: 0]

Veröffentlicht in Coding Computers and IT Start

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.